package club.gskj.gulimall.product.feign.fallback;

import club.gskj.common.exception.BizCodeEnume;
import club.gskj.common.utils.R;
import club.gskj.gulimall.product.feign.SeckillFeignService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/***
 *  定义远程接口调用服务失败，返回的方法的错误方法。
 */
@Slf4j
@Component
public class SeckillFeignServiceFallBack implements SeckillFeignService {

    /***
     *  当调用远程接口方法失败，会执行自定义的显示类方法返回数据。避免服务之间的相互等待
     * @param skuId
     * @return
     */
    @Override
    public R getSkuSeckillInfo(Long skuId) {
        log.info("getSkuSeckillInfo ->熔断方法调用....");
        return R.error(BizCodeEnume.TOO_MANY_REQUEST.getCode(), BizCodeEnume.TOO_MANY_REQUEST.getMsg());
    }
}
